package com.ch7.common;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DataValidator {

	public static boolean isNulloEmpty(String input){
		return "".equals(input)||input==null;
	}
	
	public static boolean regexMatch(String input,String pattern){
		if(isNulloEmpty(input)){
			return false;
		}
		return Pattern.compile(pattern).matcher(input).matches();
	}
	
	public static String htmlEncode(String input){
		if(!DataValidator.isNulloEmpty(input)){
			input=input.replace("&", "&amp;");
			input=input.replace("<", "&lt;");
			input=input.replace(">", "&gt;");
			input=input.replace("'", "&#39;");
			input=input.replace("\r\n", "<br>");
			input=input.replace("\n", "<br>");
			input=input.replace("\"", "&quot");
		}
		return input;
	}
	
	public static String htmlDecode(String input){
		if(!DataValidator.isNulloEmpty(input)){
			input=input.replace("&amp", "&;");
			input=input.replace("&lt;", "<");
			input=input.replace("&gt;", ">");
			input=input.replace("&#39;", "'");
			input=input.replace("<br>", "\r\n");
			input=input.replace("<br>", "\n");
			input=input.replace("&quot", "\"");
		}
		return input;
	}
	
	public static String serverHtmlEncode(String input){
		if(DataValidator.isNulloEmpty(input))
			return input;
		input=input.replace("&", "&amp;");
		input=input.replace("<", "&lt;");
		input=input.replace(">", "&gt;");
		input=input.replace("'", "&#39;");
		input=input.replace("\r\n", "<br>");
		input=input.replace("\n", "<br>");
		input=input.replace("\"", "&quot");
		return input;
	}
	
	public static String serverhtmlDecode(String input){
		if(DataValidator.isNulloEmpty(input))
			return input;
		input=input.replace("&amp", "&;");
		input=input.replace("&lt;", "<");
		input=input.replace("&gt;", ">");
		input=input.replace("&#39;", "'");
		input=input.replace("<br>", "\r\n");
		input=input.replace("<br>", "\n");
		input=input.replace("&quot", "\"");
		return input;
	}
	
	public static String removeHtml(String input){
		if(DataValidator.isNulloEmpty(input))
			return input;
		Pattern p=Pattern.compile("<[^>]*>",Pattern.MULTILINE|Pattern.UNICODE_CASE);
		Matcher m =p.matcher(input);
		return m.replaceAll("");
	}
}
